Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove memory leaks in Text and Editable #5297

Merged
merged 2 commits into from
Feb 20, 2023

Conversation

edhager
Copy link
Contributor

@edhager edhager commented Feb 17, 2023

Description
It was discovered that slate-react was leaving behind detached spans and divs as the edited text was being updated causing memory leaks.

The cause of the leaks were in the weak maps used in packages/slate-react/src/components/editable.tsx and packages/slate-react/src/components/text.tsx. DOM nodes stored in the maps were detached but the keys still had strong references.

This PR adds callback refs to remove DOM nodes from the maps when the refs are set to null.

Checks

  • The new code matches the existing patterns and styles.
  • The tests pass with yarn test.
  • The linter passes with yarn lint. (Fix errors with yarn fix.)
  • The relevant examples still work. (Run examples with yarn start.)
  • You've added a changeset if changing functionality. (Add one with yarn changeset add.)

@changeset-bot
Copy link

changeset-bot bot commented Feb 17, 2023

🦋 Changeset detected

Latest commit: f874c5d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
slate-react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Collaborator

@dylans dylans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, tests pass, etc.

We'll need to add a changeset for this when you get a chance (see instructions).

@edhager edhager marked this pull request as ready for review February 20, 2023 15:30
@dylans dylans merged commit 967d99e into ianstormtaylor:main Feb 20, 2023
@github-actions github-actions bot mentioned this pull request Feb 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants